ในโลกของเรสต์ เครื่องมือไลน์อินเทอร์เฟซที่มั่นคงไม่ใช่แค่สคริปต์เดียว; มันเป็นการจัดระเบียบอย่างแม่นยำ แผนงานโปรเจกต์เพื่อสร้างเครื่องมือแบบ กรีพเราแบ่งงานระหว่าง เครตไบนารี และ เครตไลบรารี។
1. สัญลักษณ์ของเครื่องชงกาแฟ
จินตนาการถึงเครื่องชงกาแฟระดับพรีเมียม เอกสาร lib.rs เก็บกลไกภายในสำหรับการต้มน้ำและบดเมล็ดกาแฟ—"ตรรกะของเครื่องยนต์" เอกสาร main.rs คือปุ่มภายนอกที่ผู้ใช้กด—"อินเทอร์เฟซ" โดยการแยกพวกมันไว้ ช่างเทคนิคสามารถทดสอบเตา (ไลบรารี) โดยไม่ต้องกดปุ่มจริง (ไบนารี) ทุกครั้ง
2. การสร้างโครงสร้างเครื่องยนต์
เราเริ่มจาก $ cargo new minigrepแม้ว่าจะสร้าง main.rsแต่เราต้องเพิ่มเข้ามาเองโดยตรง src/lib.rsการแยกโครงสร้างนี้ทำให้ตรรกะการค้นหาหลักของเราคงอยู่ แยกจากกัน จากการวิเคราะห์ไลน์อินเทอร์เฟซ ทำให้การทดสอบและการจัดโครงสร้างง่ายขึ้น
3. โมดูลที่ทดสอบได้
โดยการย้ายตรรกะไปยัง lib.rsเราใช้เฟรมเวิร์กการทดสอบของเรสต์เพื่อเรียกฟังก์ชันไลบรารีในสภาพแวดล้อมที่ควบคุมได้ เราใช้ use minigrep; ในไบนารีของเราเพื่อนำเข้าเครื่องยนต์ ขณะที่คงตรรกะการวิเคราะห์คำสั่งบรรทัดไว้แยกจากกัน